11 research outputs found

    Bridging the Gap Between Research and Practice: The Agile Research Network

    Get PDF
    We report an action research-oriented approach to investigating agile project management methods which aims to bridge the gap between academic research and agile practice. We have set up a research network of academics from two universities, through which we run focussed project-based research into agile methods. Organisations are invited to suggest an ‘agile challenge’ and we work closely with them to investigate how challenge affects them. Our approach is both academic and practical. We use appropriate research methods such as interviews, observation and discussion to clarify and explore the nature of the challenge. We then undertake a detailed literature review to identify practical approaches that may be appropriate for adoption, and report our findings. If the organisation introduces new practices or approaches as a result of our work, we conduct an academic evaluation. Alternatively, if we uncover an under-researched area, we propose undertaking some basic research. As befits the topic, we work iteratively and incrementally and produce regular outputs. In this paper we introduce our approach, overview research methods used in the agile research literature, describe our research model, outline a case study, and discuss the advantages and disadvantages of our approach. We discuss the importance of producing outputs that are accessible to practitioners as well as researchers. Findings suggest that by investigating the challenges that organisations propose, we uncover problems that are of real relevance to the agile community and obtain rich insights into the facilitators and barriers that organisations face when using agile methods. Additionally, we find that practitioners are interested in research results as long as publications are relevant to their needs and are written accessibly. We are satisfied with the basic structure of our approach, but we anticipate that the method will evolve as we continue to work with collaborators

    Overcoming challenges in collaboration between research and practice: the agile research network

    Get PDF
    There is wide acceptance in the software engineering field that industry and research can gain significantly from each other and there have been several initiatives for encouraging collaboration between the two. However there are some often-quoted challenges in this kind of collaboration. For example, that the timescales of research and practice are incompatible, that research is not seen as relevant for practice, and that research demands a different kind of rigour than practice supports. These are complex challenges that are not always easy to overcome. For the last year we have been using an approach designed to address some of these challenges and to bridge the gap between research and practice, specifically in the agile software development arena. So far we have collaborated successfully with two partners and have investigated two practitioner-driven challenges with agile. In this short paper we will introduce the approach, how it addresses the collaboration challenges between research and practice, and describe the lessons learned from our experience

    Knowledge transfer in pair programming: an in-depth analysis

    Get PDF
    Whilst knowledge transfer is one of the most widely-claimed benefits of pair programming, little is known about how knowledge transfer is achieved in this setting. This is particularly pertinent for novice-expert constellations, but knowledge transfer takes place to some degree in all constellations. We ask “what does it take to be a good “expert” and how can a “novice” best learn from a more experienced developer?”. An in-depth investigation of video and audio excerpts of professional pair programming sessions using Interaction Analysis reveals: six teaching strategies, ranging from “giving direct instructions” to “subtle hints”; and challenges and benefits for both partners. These strategies are instantiations of some but not all teaching methods promoted in cognitive apprenticeship; novice articulation, reflection and exploration are not seen in the data. The context of pair programming influences the strategies, challenges and benefits, in particular the roles of driver and navigator and agile prioritisation which considers business value rather than educational progression. Utilising these strategies more widely and recognizing the challenges and benefits for both partners will help developers to maximise the benefits from pairing sessions

    Disengagement in pair programming: does it matter?

    No full text
    Pair Programming (PP) requires close collaboration and mutual engagement. Existing empirical studies of PP do not focus on developers’ behaviour during PP sessions, and focus instead on the effects of PP such as productivity. However, disengagement, where a developer is not focusing on solving the task or understanding the problem and allows their partner to work by themselves, can hinder collaboration between developers and have a negative effect on their performance. This paper reports on an empirical study that investigates disengagement. Twenty-one industrial pair programming sessions were analysed to investigate circumstances that led to disengagement. We identified five reasons for disengagement: division of work, simple tasks, interruptions, social pressure on inexperienced pair programmers, and time pressure. Our findings suggest that disengagement is sometimes acceptable and agreed upon between the developers in order to speed up problem solving. However, we also found episodes of disengagement where developers ’drop out’ of their PP sessions and are not able to follow their partner’s work nor contribute to the task at hand, thus losing the expected benefits of pairing. Analysis of sessions conducted under similar circumstances but where mutual engagement was sustained identified three behaviours that help to maintain engagement: encouraging the novice to drive, verbalisation and feedback, and asking for clarification

    A Coding Scheme Development Methodology Using Grounded Theory for Qualitative Analysis of Pair Programming

    No full text
    A number of quantitative studies of pair programming (the practice of two programmers working together using just one computer) have partially conflicting results. Qualitative studies are needed to explain what is really going on. We support such studies by taking a grounded theory (GT) approach for deriving a coding scheme for the objective conceptual description of specific pair programming sessions independent of a particular research goal. The present article explains why our initial attempts at using GT failed and describes how to avoid these difficulties by a predetermined perspective on the data, concept naming rules, an analysis results metamodel, and pair coding. These practices may be helpful in all GT situations, particularly those involving very rich data such as video data. We illustrate the operation and usefulness of these practices by real examples derived from our coding work and present a few preliminary hypotheses regarding pair programming that have surfaced
    corecore